home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 6 / MacMania 6.toast / / Movies / Synt MooVier 2.1.1 ƒ / Docs / User Manual 2 < prev    next >
Text File  |  1997-05-13  |  20KB  |  371 lines

  1.  
  2.  Menu Reference
  3.  
  4.  - 
  5. About Synth MooVier… - opens a dialog with some info about the application and essential credits.
  6.  
  7. File -
  8. New - opens a new, empty document.
  9. Open… - opens a Synth MooVier document.
  10. Close - closes the current document.
  11. Save - saves the current document.
  12. Save As… - saves a copy of the current document asking user for a new name.
  13. Quit - exits from Synth MooVier.
  14.  
  15. Edit -
  16. Undo - currently not implemented.
  17. Cut - removes current tree selection putting it in the private clipboard.
  18. Copy - copies current tree selection in the private clipboard.
  19. Paste - inserts the content of the private clipboard in the active coordinate system, and clears the clipboard.
  20. Clear - deletes current tree selection.
  21.  
  22. Movie -
  23. Setup… - opens a setup dialog window to set movie attributes for the active document, like frame dimensions, quality (frame per second), and creator file type (default corresponds to Apple MoviePlayer).
  24. Make… - creates a movie from the active document, asking for a time selection of interest.
  25. make Preview… - same as Make…, but actors’rendering mode is forced to wireframe.
  26.  
  27. Window -
  28. Goto - opens the Goto window.
  29. Tree - opens the Tree window.
  30. Stage - opens the Stage window and the associated controls window stageC.
  31. Attributes - opens the modeless dialog Attributes, from which default values for new actors are set. 
  32.  
  33. Actor -
  34. New > opens a submenu for creating new actors that are inserted in the active reference system. Actors’attributes (color, render, material) are taken from the Attributes dialog, while geometrical data are set in a modal dialog specific for every solid primitive (sphere, ellipsoid, parallelepiped, prism, cylinder, rotation object). Special cases of actors are the reference system and the light.
  35. Modify > if the current tree selection has no attributes associated (which is the case for reference system, view camera and background), opens a dialog to modify its geometrical data at movie start time; otherwise, a submenu with the following choices is presented:
  36.         Geometry - opens a dialog to modify actor's geometrical data;
  37.         Color - opens a dialog to modify actor's color;
  38.         Render - opens a dialog to modify actor's rendering mode;
  39.         Material - opens a dialog to modify actor's material settings.
  40. Fold/Unfold - enabled only if a reference system is selected; it toggles the tree representation corresponding to the system between collapsed and expanded state.
  41. Clear - removes the current tree selection (a reference system is recursively removed).
  42. Show Parts - opens the parts window for the current tree selection.
  43. Add Part > if the current tree selection has no attributes associated, opens a dialog to add a new part for the actor selected; otherwise, a submenu with the following choices is presented:
  44.         Geometry - opens a dialog to add a geometrical part;
  45.         Color - opens a dialog to add a color part;
  46.         Render - opens a dialog to add a rendering part;
  47.         Material - opens a dialog to add a material part.
  48. Edit Part - opens a dialog to modify the currently selected part in the parts window.
  49. Remove Part - deletes the currently selected part.
  50.  
  51.  
  52.  
  53.  Window Reference
  54.  
  55. Tree
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. In this window you can see the hierarchical relations between the actors in your scene.
  73. The picture shows special actors (camera, background and rooT reference system), which are always present, and some user defined actors.
  74. You can see that the current tree selection is framed with a black rectangle (in this example, ‘Sphere’ is selected).
  75. The active reference system (in which new actors are dropped) is that containing the current selection, and its name is shown in italic style (in this example, ‘rooT’).
  76. On the right, you can see a folded reference system (‘coordSys’): note the different icon, suggesting that the system contains some objects temporarily obscured.
  77. Some shortcuts available in this window are:
  78. - double-clicking an actor is equivalent to perform the Modify (> Geometry when applicable) command from Actor menu;
  79. - shift-double-clicking an actor is equivalent to select the Modify > Attributes command from Actor menu;
  80. - option-double-clicking an actor is equivalent to select the Show Parts command from Actor menu.
  81. Closing this window is equivalent to select the Close command from the File menu.
  82.  
  83.  
  84. Stage
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.   
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. These two windows should help you in setting the scene of your movie. The Stage window can show a single instant or two distinct instants (see below) with a wireframe rendering.
  116. The ‘stageC’ window (on the right) lets you set values for the position of the stage view camera (top-left three numeric input fields) and the point to which the camera aims to (top-right three fields), expressed in xyz cartesian coordinate, plus the focal length of the camera (‘focal’ input field);
  117. If you want to see a single instant, the two values in ‘T1’ and ‘T2’ fields must be the same (this is accomplished by setting them manually, or by activating the ‘Snap’ button); in this case, the scene is rendered in a single color (currently blue).
  118. If you want to compare two distinct instants (for example, to check the effect of a particular geometric part), you must set the two fields ‘T1’ and ‘T2’ to the values of interest; in this case, the T1 instant scene is drawn in dark-orange, the T2 scene in green, and the pieces not changed from T1 to T2 are drawn in yellow. In the above example, the pyramid on the left is drawn at instant 0.0 (orange) and at instant 1.0 (green); its base is yellow because it doesn't change in this interval.
  119. In any case, the ‘Stage’ window (on the left) is updated by an explicit activation of the ‘Apply’ button.
  120. Also note that objects in folded reference system aren't shown in the window, so you can easily hide objects currently not of interest.
  121. The view camera is shown like a small segment, whose length is proportional to the focal length.
  122. The light sources are shown like a circle (source) and a line joining the light with the point it aims to.
  123. The coordinate systems are represented by three perpendicular dotted lines.
  124.  
  125. Attributes
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137. Initial setting of attributes for new actors are controlled in this window.
  138. The three top input fields are the RGB components of the actor (range 0-255); the color is shown in the rectangle on the left.
  139. The ‘Render’ pop-up menu lets you select rendering type for the new actor.
  140. The ‘Material’ pop-up menu lets you select from some predefined set of values for material attributes, that are put in the ‘light coeff.’ fields at the bottom; this fields are editable separately, if you want to customize material properties. Their meaning is:
  141.   ‘ambient’ - portion of ambient light reflected from object surface (useful range: 0.0 - 1.0)
  142.   ‘diffuse’ - set this to high values to simulate dull surfaces (useful range: 0.0 - 1.0)
  143.   ‘specular’ - set this to high values to simulate shiny surfaces (useful range: 0.0 - 1.0)
  144.   ‘specExp’ - set this to high values for sharp, focused specular highlight; set low for a broad, gentle falloff (useful range: 1.0 - 10.0)
  145. As a rule of thumb, the sum of the first three values should be near 1.0.
  146.  
  147. Goto
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163. In this window you can see the preview of a single frame of your movie.
  164. The scrollbar at the bottom let you select the desired instant (it's shown under the ‘time:’ label, expressed in minute:second).
  165. If the checkbox ‘quick’ is checked, the actors are rendered in wireframe mode, much faster: this is useful if you only want to check the general view.
  166. The ‘Go’ button perform the effective rendering of the single frame.
  167. The ‘Vrml…’ button lets you export the selected instant in a VRML file (1.0), viewable with a VR browser of your choice.
  168. The ‘Pict…’ button lets you export the content of the window to a Pict file.
  169.  
  170.  
  171. Part
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182. This window shows the parts associated with a particular actor.
  183. The line at the top shows in textual form the values of the parameters for the currently selected part.
  184. Below that, a simple ruler shows the temporal extension of the parts (in seconds).
  185. Every part is represented by a black segment; the selected part is framed with a black line.
  186. The red dotted vertical line shows the current temporal extension of the movie (that is, the extension of the parts defined for the movie).
  187. When the actor has geometrical data and other attributes associated, a green dotted horizontal line acts as separator for the different sections (geometry, color, render and material, in the order).
  188.  
  189. Setup
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204. In this dialog, you set some general movie parameters, like frame width and height, the rate of frame per second, and the creator file type. The latter is used to associate your movie with a player application (default corresponds to Apple Movie Player).
  205.  
  206.  
  207. Progress
  208.  
  209. This window is automatically presented to you when you are making a movie.
  210. It provides you with a feedback on the mooving process, presenting information like current frame, its number, elapsed time from start and expected time for completion.
  211. During the process, you cannot use your Mac in any other activity, but you are pleased by the presence of an old classic watch cursor.
  212.  
  213.  
  214.  
  215.  
  216.  Actors Reference
  217.  
  218. This section explains the parameters presented in dialogs in order to modify the initial settings of the actors and to set their parts.
  219.  
  220. View Camera
  221. This is a special actor: you cannot delete it.
  222. The attributes are:
  223.   position - XYZ coordinate of the camera;
  224.   point to: - XYZ coordinate of the point you want to look at;
  225.   pan - rotation (in degrees) of camera about Z axis;
  226.   tilt - rotation of camera about X axis;
  227.   focal - focal length of the camera (0.035 = 35 mm).
  228. Note that a change in position and point to: fields causes pan and tilt to be recalculated accordingly, and viceversa, so you could choose which way you prefer. All XYZ coordinates are defined in rooT system.
  229.  
  230. Background
  231. This is a special actor: you cannot delete it. You can use a single color (RGB) for the background or a Pict file. Important note: Pict files must be placed in the same folder with Synth MooVier document, otherwise  they will not load, and the background will be filled with a gray pattern.
  232. For the RGB case, the attributes are:
  233.   red, green, blue - RGB components of desired background color for the scene (range 0-255);
  234. for Pict case, the attribute is the file name. The ‘fit to frame’ checkbox stretch Pict dimension to frame dimension: if unchecked, the Pict image is cropped. (Using a Pict as background could speed up a lot the rendering of the movie: see tips section).
  235.  
  236. Reference System
  237. ‘rooT’ is a special actor: you cannot delete nor modify it.
  238. The attributes of the user defined system are:
  239.   origin - XYZ coordinate of the reference system's origin;
  240.   rotate - angle of rotation about X, Y, Z axis.
  241.  
  242. Sphere
  243. The attributes are:
  244.   center - XYZ coordinate of the center of the sphere;
  245.   ray - sphere's ray;
  246.   subdivisions - used in wireframe and flat rendering, to segment the sphere in facets. 
  247.  
  248. Ellipsoid
  249. The attributes are:
  250.   center - XYZ coordinate of the center of the ellipsoid;
  251.   rays - length of X, Y, Z rays;
  252.   subdivisions - used in wireframe and flat rendering, to segment the ellipsoid in facets. 
  253.  
  254. Parallelepiped
  255. For this solid, you must define 4 points (XYZ), representing four vertices that uniquely identify the parallelepiped (see figure).
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265. Note that the coordinate of the three sides are given relative to the origin (P1 in the figure).
  266.  
  267. Prism family (prism, pyramid, trunc pyramid, cylinder, cone, trunc cone)
  268. All these solids share a common set of geometrical attributes.
  269.   base - XYZ coordinate of the center of bottom base;
  270.   top - XYZ coordinate of the center of top base (for prism, cylinder and trunc solids) or of top vertex (for cone and pyramid);
  271.   ray - ray of the circunscribed circle of bottom base;
  272.   sides - number of lateral sides for faceted solids: for cone and cylinder, it's used only in wireframe and flat rendering, to segment them;
  273.   plane - plane in which bottom and top base lie;
  274.   t/b ratio - present only for trunc solids: represents the ratio between top-base and bottom-base ray.
  275.  
  276. Rotation object
  277. The attributes are:
  278.   base - XYZ coordinate of the center of bottom base;
  279.   top - XYZ coordinate of the center of top base (for prism, cylinder and trunc solids) or of top vertex (for cone and pyramid);
  280.  subdivisions - used in wireframe and flat rendering, to segment the object in facets;
  281.  profile knots - they define the profile of the object. You set them in the box on the right of the dialog; the green circles represent base and top point, and knot positions are relative to them. In order to build a large and squashed down solid, you can change the scale of the box with a click on the axe (this action moves its extreme points, but the real axe length is not touched). The profile cannot be changed in animation.
  282.  
  283. Light
  284. The attributes are:
  285.   type - you choose from point, parallel (directional) and spot;
  286.   position - XYZ coordinate of the light;
  287.   direction - XYZ coordinate of the point to what the light aims (not meaningful for point light);
  288.   intensity - illumination power;
  289.   angle - opening angle of flaps for spot type.
  290. Note that for a light, setting its rendering type to invisible is equivalent to turning it off.
  291.  
  292.  
  293.  
  294.  Bugs & Limitations
  295.  
  296.   This list doesn't pretend to be exhaustive; it merely points out the more evident facts, and it's given in order to avoid dissatisfied customers.
  297.  
  298. - Synth MooVier user interface is far from friendly: input methods are numerical, and to achieve good results you should adapt yourself to the application's “philosophy”.
  299. - Performance are less than optimal; currently, the application doesn't require an FPU, nor it takes advantage of it, if present.
  300. - There is no online-help; Undo is not supported.
  301. - Import capabilities are absent, and export is limited to VRML.
  302. - The rendering algorithm fails in presence of compenetrating objects (the results in this case should be unpredictable; actually, they are predictable, because you can anticipate they'll be wrong). When you see strange effects (like a frontmost solid drawn behind the others), double check your scene to be sure that none of the actors compenetrates each other.
  303. - The clipping method is not very accurate, and objects partially visible in the scene can be (under particular conditions) totally ignored from the render engine.
  304. - The ratio of the camera view plane is fixed (4:3), so you should keep frame dimensions with the same ratio (for example 160x120), otherwise the objects will appear distorted.
  305. - A maximum of 16 light sources is considered during rendering.
  306. - A maximum of 256 actors can be present in the scene.
  307. - Rotation object profiles shouldn't be "too much" concave, to avoid erratic facets rendering; a sort of automatic checking is done during profile definition. The profile can contain a maximum of 8 points.
  308.  
  309.  
  310. Some tips
  311.  
  312. Here are some wise tips:
  313. - You could use a Pict background to speed up movie rendering; build your scene as usual, then save it in two documents. Erase from the "back" document all the actors which you want to animate, then from the Goto window save this doc as a Pict; erase from the "front" document the actors saved in the Pict, assign as background the file previously created, and Make the movie as usual. In this way, you could make very elaborate compositions with a fraction of the time needed to render all their actors together.
  314. - Sphere, ellipsoid and rotation objects are time consuming: use them only when needed (well, I'm speaking from my point of view - LC 68020; perhaps this is not an issue to you).
  315. - The more lights you use, the more time you need to render a frame (with Phong rendering, this fact is more apparent); spot lights are especially expensive.
  316.  
  317.  
  318.  
  319.  Future Plans
  320.  
  321.   This application is the result of an amatorial effort. Though I enjoy very much programming (especially on Macintosh), I can dedicate to this activity only my (very limited) spare time.
  322. Anyway, these are the points of possible future improvements:
  323.  
  324.     • New solid primitives (extrusion);
  325.     • Recompilation native for PowerPC*;
  326.     • Use of QuickDraw 3D for modeling and rendering;
  327.     • Massive reorganization of user interface.
  328.     • Support of VRML 2.0 ? (aka Moving Worlds: this should require a substantial effort, and probably it would be better to write a completely different application).
  329.  
  330. *Historical Note: this version (2.1) has been developed on a very-low-end machine (original LC 4/40 with VRam expanded to 512kb, 12" RGB, Think Pascal 4.0) for marketing reasons (that is, the author hadn't enough money to leverage this configuration). This is now partially fixed, because I'm the happy owner of a 7200/90. End of note.
  331.  
  332.  
  333.  
  334.  Acknowledgments
  335.  
  336. A big thank to my family, whose patience has permitted this work. Thanks you, Lucia, Michela, Simona, Daniele and Giacomo (ordered by age).
  337. Special credit is due to Roberto Leonardi, whose kind observations had convinced me to enhance this application from the primitive 1.0 status to 1.5.
  338. Thank you, Fred, for introducing me to the world of ftp in the late 1993.
  339. I'd like to mention also Marco Piovanelli, whose MModal Pascal unit saved me a lot of time, and Yves Piguet, whose clip2gif helped in producing the document you're reading. 
  340.  
  341.  
  342.  
  343.  The Author
  344.  
  345.   Synth MooVier has been developed by Marco Bonasoro, an italian programmer.
  346. Marco is 31 years old, has a degree in Computer Science from Milan University, and his thesis was a sort of ‘ante litteram’ work on Virtual Reality.
  347. He works in a research center, where his activities encompass anything that involves a keyboard and a mouse, like C programming on UNIX-Motif workstations, VB programming on (urgh!) Wintel machines, and FORTRAN programming on VMS.
  348. One notable exception to the above statement is the lack of Macintosh, but Marco addresses this point at home, especially in the interval from the 9:30 pm (this is when he usually manages to bring to bed Michela, Simona, Daniele and Giacomo, respectively 8, 7, 5 and 4 years old) to the 10:30 pm (when he usually no longer manages to keep an eye open, and his wife Lucia brings him to bed :-).
  349. His address is:
  350.  
  351.     Marco Bonasoro
  352.     via Pertini, 24
  353.     20097  San Donato Milanese (MI)
  354.     ITALY
  355.     e-mail:  marco@risc10.cise.it
  356.  
  357. Suggestions, bug reporting and notes will be welcome.
  358.  
  359.  
  360.  
  361.  Legal Stuff
  362.  
  363. Permission to copy and distribute this software is hereby granted, as long as the following conditions are met:
  364. 1) the application must be distributed free of charge, or at the sole transmission or duplication cost;
  365. 2) the package must be distributed in its entirety, with no modification and with all documents annexed;
  366. 3) you may include the Software on a CD-ROM or floppy collection, provided that a complimentary copy is sent to the Author.
  367.  
  368. PLEASE READ THIS LICENSE CAREFULLY BEFORE USING THIS SOFTWARE.  BY USING THE SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS LICENSE.
  369. SOFTWARE LICENSE
  370. You expressly acknowledge and agree that use of the Software is at your sole risk. The Software and the related documentation are provided “AS IS” and without warranty of any kind, express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
  371. Under no circumstances including negligence, shall the Author be liable for any incidental, special or consequential damages that result from the use or inability to use the software or related documentation, even if advised of the possibility of such damages.